﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;

namespace Possan.Localization
{
	public interface ILibraryProvider
	{
		string TranslatePhrase(string namespacename, string originalphrase, CultureInfo locale);
		string TranslatePhraseByID(string namespacename, string id, string fallbackphrase, CultureInfo locale);

		bool RegisterPhrase(string namespacename, string originalphrase, string translation, CultureInfo locale);
		bool RegisterPhraseID(string namespacename, string id, string fallbackphrase, string translation, CultureInfo locale);

		void RegisterLocale(string locale);
		void RegisterNamespace(string namespacename);

		void DeleteLocale(string locale);

		List<string> GetLocales();
		// Dictionary<string,string> Get
		List<string> GetNamespaces();
		List<string> GetIDs(string namespacename);
		Dictionary<string, string> GetTranslations(string namespacename, string id);
		// Dictionary<string, string> GetTranslations(string namespacename, string id);
	}
}
